草庐IT

c++ - Visual Studio 和 Boost::Test

全部标签

c++ - 文件 basic_socket.hpp 中的 lib boost asio 1.47.0 出错

当我尝试编译时,以下代码出现错误:voidServer::accept(void){Network::ptrconnection=Network::initialize(this->my_acceptor.get_io_service());this->my_acceptor.async_accept(connection->socket(),bind(&Server::endCmd,this,*connection,placeholders::error));}voidServer::endCmd(Networkconnection,constboost::system::error

c++ - 使用 Boost.GIL 将图像转换为 "raw"字节

目标我正在尝试转向BoostGIL以替换我已经实现的一些类似功能,这些功能已达到其可维护生命的终点。我现有的代码可以使用uint8_t*处理24BPP、8位RGB图像.我无法更改它,因为相同的接口(interface)用于显示来自不同位置(例如OpenGL缓冲区)的图像,并且已经有相当多的代码。因此,我尝试逐步使用GIL,首先读取文件并将像素逐字节复制到std::vector中我可以用它来管理存储,但仍然得到uint8_t*通过使用&vector[0].这可以透明地放在现有接口(interface)后面,直到重构有意义为止。我尝试过的我认为这应该是使用copy_pixels()的简单案

c++ - C select() 超时 STDIN 单字符(无 ENTER)

我希望能够使用select()从STDIN输入单个字符(无ENTER)。因此,当用户按下单个键时,select()应该立即返回,而不是等待用户按下ENTER。intmain(void){fd_setrfds;structtimevaltv;intretval;/*Watchstdin(fd0)toseewhenithasinput.*/FD_ZERO(&rfds);FD_SET(0,&rfds);/*Waitupto2seconds.*/tv.tv_sec=2;tv.tv_usec=0;retval=select(1,&rfds,NULL,NULL,&tv);if(retval==-1

c++ - 有没有办法从 sqlite3 对象获取数据库位置?

我的应用程序中有一堆sqlite数据库(不要问),我需要能够获取数据库的文件位置。有没有办法通过使用sqlite3对象来做到这一点?(即创建数据库时不必将路径与数据库一起存储)奖励问题:如果有多个数据库附加到sqlite3对象,我如何获得其他数据库(它们已附加)?谢谢! 最佳答案 API函数:sqlite3_db_filename 关于c++-有没有办法从sqlite3对象获取数据库位置?,我们在StackOverflow上找到一个类似的问题: https:/

c++ - 我们如何使用强制转换来允许将字符屏蔽为字符串?

我需要尽可能快地执行此操作数百万次。假设我有两个包含几个短char数组的列表:"ab","ac","ax",etc..."wz","wy","qb"现在我想从每个列表中形成一个组合。例如,"ab"和"wz"将变为"awbz"。似乎最有效的方法是将它们存储为32位序列:"ab"-->0x00620061"wz"-->0x7A007700现在OR他们在一起得到0x7A627761-->"awbz"我的第一个想法是使用union,但我知道这在技术上会出现未定义的行为......写入union变量的一部分,然后从union中读取不同类型。union{unsignedchar[4]c;unsig

c++ - 一个简单的 PNG 包装器。有人可以分享一个片段吗?

我正在寻找一种将图像数据缓冲区放入PNG文件的方法,以及一种将PNG文件放入缓冲区的方法。我想做的只有这两件事。这将是一个使用png.h的非常简单的包装器。好吧,由于可怕的复杂libpngAPI,这并不完全简单,但它的概念是。我之前尝试过DevIL。它比libpng更容易使用。尽管如此,我还是有issues用它。此外,DevIL做得太多。我只需要基本的PNG格式支持,而不是其他20种格式。然后我找到thispage.我称赞PixelFairy和全能的Google为我提供了一个银盘上的实现......结果这搞砸了图像:在处理后的图像中,每条扫描线中的每四个像素都丢失了。通过阅读源代码,我

c++ - 如何制作适用于 gcc 4.6 的递归 boost::variant?

我正在解码bencode,并且有一些代码适用于gcc4.4。但是最近升级到gcc4.6后,此代码不再生成:#ifndefBENCODE_VALUETYPES_H#defineBENCODE_VALUETYPES_H#include#include#include#includenamespacebencode{typedefboost::make_recursive_variant,std::map>::typeValue;typedefstd::mapValueDictionary;typedefstd::vectorValueVector;};#endifg++给出了这个错误信息:

c++ - 使用带有绑定(bind)的 boost 字符串算法谓词

编译这个例子#include#include#include#include#includeusingnamespacestd;intmain(int,char**){vectortest;test.push_back("xtest2");test.push_back("test3");ostream_iteratorout_it(cout,"\n");remove_copy_if(test.begin(),test.end(),out_it,boost::bind(boost::algorithm::starts_with,_1,"x"));}因错误而失败nomatchingfunc

c++ - 与 XBoard(国际象棋引擎)通信(C++/C)

我只是在玩弄一个基本的国际象棋引擎。我从http://web.archive.org/web/20070704121716/http://www.brucemo.com/compchess/programming/alphabeta.htm得到了很多建议,但实际站点已关闭,并非所有页面都已存档。(有人知道在哪里可以找到Bruce网站的完整版本吗?)但现在真正的问题是:我如何与XBoard通信?我知道这是通过stdin和stdout,但我在代码中遇到了问题。基本上,要开始,我只想接收来自XBoard的输入并将其打印到控制台/屏幕将硬编码输入移动到XBoard并让它移动编写实用函数并制作随

c++ - 使用挂起的 read_async_some 关闭 boost::asio::serial_port

我正在链接read_async_some()调用以从串行端口异步读取。在某些时候,我需要取消异步读取并在关联的处理程序中检测到这一事实。来自thedocumentationforcancel(),我希望通过检查传递给我的处理程序的error_code来做到这一点:Thisfunctioncausesalloutstandingasynchronousreadorwriteoperationstofinishimmediately,andthehandlersforcancelledoperationswillbepassedtheboost::asio::error::operatio